package com.cloud.tsp.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cloud.api.domain.forward.ResponseData;
import com.cloud.api.domain.sys.CheckName;
import com.cloud.api.domain.tsp.QueryVehicle;
import com.cloud.api.domain.tsp.QueryVehicleProduction;
import com.cloud.api.domain.tsp.VehicleProduction;
import com.cloud.api.domain.tsp.VehicleProductionExcel;
import com.cloud.api.constants.StrVo;
import com.cloud.mybatis.domain.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;

import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author haohaibo
 * @since 2023-12-20
 */
public interface IVehicleProductionService extends IService<VehicleProduction> {

    TableDataInfo<VehicleProduction> selectProductionList(QueryVehicleProduction para);

    VehicleProduction selectById(String id);

    VehicleProduction selectByVin(String vin);
    VehicleProduction selectByVin1(String id);

    List<String> getNameByVin(String vin);

    void deleteById(String id);

    void insertOrUpdate(VehicleProduction para);

    public boolean checkExist(String vin);

    List<StrVo> selectProductionVinList(String vin);

    void downloadTemplate(String vehicleType,HttpServletResponse response) throws IOException;

    void exportProductionVinList(QueryVehicleProduction para, HttpServletResponse response) throws IOException ;

    ResponseData importProductionVinList(String dept,String vehicleType, MultipartFile file, HttpServletResponse response, String key) throws IOException;

    List<String> getProductionModel();

    List<VehicleProduction> getProductionCount();

}
